A solution may be described as a custom application that is run on a portal server. A developer (e.g., a business analyst or solution developer) may create (i.e., develop) a solution in a development environment (e.g., a set of computing devices and resources). Once the developer thinks the solution is ready, the developer deploys the solution to a physical test environment (which is a part of the development environment) and tests the solution to determine whether the solution works as desired. Deployment includes creating classes and objects defined in the solution. The physical test environment is similar to a target environment in which the solution will eventually execute. If the solution works as desired, the product is copied to an acceptance physical test environment in which a customer tests the solution. If the customer accepts the solution, the solution is copied to a production environment, making the solution available to all users of the system.
A developer that is working on a solution in a development environment deploys the solution to the same physical test environment used by all other developers on the same development environment. Also, upon re-initialization (i.e., resetting) of the physical test environment, a developer re-initializes the physical test environment for all developers.
A developer needs to be able to have a clean physical test environment to test out the solution. Therefore, developers currently have to coordinate with each other on which versions of a solution are to be deployed and when the physical test environment is to be re-initialized.